package com.tianji.aigc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.aigc.entity.ChatSession;
import com.tianji.aigc.vo.HistorySessionVO;
import com.tianji.aigc.vo.MessageVO;
import com.tianji.aigc.vo.SessionVO;

import java.util.List;
import java.util.Map;

public interface ChatSessionService extends IService<ChatSession> {
    /**
     * 创建会话
     * @param num 热门话题数量
     * @return 会话信息
     */
    SessionVO createSession(Integer num);

    /**
     * 热门会话
     * @param num 热门话题数量
     * @return 热门问题
     */
    List<SessionVO.Example> hotChat(Integer num);

    /**
     * 根据会话id查询会话信息
     * @param sessionId 会话id
     * @return 会话信息
     */
    List<MessageVO> queryBySessionId(String sessionId);

    /**
     * 查询历史会话
     * @return 历史会话
     */
    Map<String, List<HistorySessionVO>> queryHistory();

    /**
     * 修改历史会话的标题
     * @param sessionId 会话id
     * @param title 标题
     */
    void updateHistory(String sessionId, String title);

    /**
     * 删除历史会话
     * @param sessionId 会话id
     */
    void deleteHistory(String sessionId);
}
